/*
 * Copyright 2012-2013 EZC Group S.A. RCS Luxembourg B140949
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package com.yobidrive.y3.v1.model;


/**
 * Represents the detailed information about a node.
 * 
 * @author david
 *
 */
public class GetNodeDetailsResult {
	public String uid;  //Unique identifier of the node
	public String name; //Name of the node
	public String version 	   = null; //Latest visible version 
	public String lastModified = null; //Last modified date of version
	public String lastModifier = null; //Last user who modified
	public long size		   = -1;   //Size of data
	public String type		   = null; //Values: "folder", "file" or mime type if available
	public String creationDate = null;
	public String createdBy	   = null;

	public String description  = null;
	public String keywords	   = null;
	
	public boolean isPayer	= false; //is current user the payer of the drive
	public boolean enableReaders = true;  //defined based on current drive payer's subscription
	public boolean enableWriters = true; //defined based on current drive payer's subscription
	public boolean enableManualPublish = true;  //defined based on current drive payer's subscription
	public boolean enableAuditTrail = true; //defined based on current drive payer's subscription
	public boolean enableVersioning = true ; 
	public boolean enableSubFolders = true ; 
	public boolean enablePublicReaders = true ; 
	
	
	//List of Team members
	public Member[] writers			= null;
	public Member[] readers			= null;
	public Member[] owners			= null;
	public HistoryEntry[] history 	= null;
	public Action[] actions			= null;
	
	//List of Recent access
	public Access[] accesses		= null;
	
	//Flags to know if some info are not available for the current user
	public boolean isVisibleWriters = true;
	public boolean isVisibleReaders = true;
	public boolean isVisibleOwners  = true;
	public boolean isVisibleHistory = true;
	public boolean isVisibleActions = true;
	public boolean isVisibleAccesses= true;
}
